Test Double
テストダブル。(下位概念である「モック」とは別に)Test Double を総称して「モック」と呼ぶこともある。 Dummy:テストに影響を与えない
Stub:テスト対象への間接入力を操作する
Spy:テスト対象からの間接出力を記録し、テストコードから参照可能にする
Mock:テスト対象からの間接出力の期待結果を持ち、実際の間接出力を検証する
Fake:本物と同様の動作をする
SUT(System Under Test)は、DOC(Depended-On Component)を持っている場合がある。DOCは、SUTへ入力を与えることでSUTの挙動を変化させたり、SUTの挙動の一部としてSUTから入力を受け取る。テストコードからSUTに与えられる入力(直接入力)や、SUTが戻り値などの形で与えるテストコードへの出力(直接出力)が、テストコードから操作・観測可能であるのに対し、DOCからの入力(間接入力)やDOCへの出力(間接出力)は通常の形では操作・観測ができない。そこでStubやSpyなどが用いられる。 フェイク
スタブ
インタラクションテスト
参考